package br.com.sistemasaude.controller;

import java.util.ArrayList;
import java.util.List;

import br.com.sistemasaude.bean.Material;
import br.com.sistemasaude.dao.MaterialDAO;
import br.com.sistemasaude.dao.MaterialDAOImpl;

public class MaterialController {

	private String material;
	private double preco;
	private int quantidade;
	
	List<Material> materiais = new ArrayList<Material>();
	
	  private int currentMaterialIndex;
	    private Material editaMaterial;
	    private int page = 1;
	 
	    public void remover() {
	    	MaterialDAO materialDAO = new MaterialDAOImpl();
	    	boolean deletar = materialDAO.remove(editaMaterial);
	    	if(deletar){
	    		materiais.remove(materiais.get(currentMaterialIndex));
	    	}
	    }
	 
	    public void atualizar() {
	    	MaterialDAO materialDAO = new MaterialDAOImpl();
	    	boolean salvar = materialDAO.update(editaMaterial);
	    	if(salvar){
	    		materiais.set(currentMaterialIndex, editaMaterial);
	    	}
	    }
	 
	
	public MaterialController(){
		listaMateriais();
	}
	
	public void listaMateriais(){
		
		MaterialDAO materialDAO = new MaterialDAOImpl();
		materiais = materialDAO.listar();
	
	}
	
	public String cadastroMaterial(){
		
		Material m = new Material();
		m.setDescricao(getMaterial());
		m.setPreco(getPreco());
		m.setQuantidade(getQuantidade());
		
		MaterialDAO materialoDAO = new MaterialDAOImpl();
		try{
			materialoDAO.salvar(m);
			listaMateriais();
			return "sucesso";
		}catch (Exception e) {
			return "cadMedFail";
		}
		
	}
	public String getMaterial() {
		return material;
	}
	public void setMaterial(String material) {
		this.material = material;
	}
	public double getPreco() {
		return preco;
	}
	public void setPreco(double preco) {
		this.preco = preco;
	}
	public int getQuantidade() {
		return quantidade;
	}
	public void setQuantidade(int quantidade) {
		this.quantidade = quantidade;
	}

	public List<Material> getMateriais() {
		return materiais;
	}

	public void setMateriais(List<Material> materiais) {
		this.materiais = materiais;
	}
	
	public int getCurrentMaterialIndex() {
        return currentMaterialIndex;
    }
 
    public void setCurrentMaterialIndex(int currentMaterialIndex) {
        this.currentMaterialIndex = currentMaterialIndex;
    }

 
    public Material getEditaMaterial() {
		return editaMaterial;
	}

	public void setEditaMaterial(Material editaMaterial) {
		this.editaMaterial = editaMaterial;
	}

	public int getPage() {
        return page;
    }
 
    public void setPage(int page) {
        this.page = page;
    }
	
}
